// 注：此文件的用途是“为与‘用户管理’模块相关的接口定义TS数据类型”
// 为所有接口的响应数据中都拥有的属性（字段）（也就是“公共属性”）定义TS类型↓
export interface typeOfCommonPropertyInTheResponseDataOfAllOfTheApis {
    code: number,
    message: string,
    ok: boolean,
}
// 为“用户信息”对象定义TS类型↓
export interface typeOfObjectThatStoreUserInformation {
    id?: number,
    createTime:string,
    updateTime:string,
    username?: string,
    password?: string,
    phone: null,
    name?: string,
    roleName: string,
}
// 为“获取用户列表”接口的响应数据中名为records的属性定义TS类型↓
export type typeOfPropertyNamedRecordsInTheResponseDataOfTheApiThatGetUserList = typeOfObjectThatStoreUserInformation[]
// 为“获取用户列表”接口的响应数据定义TS类型↓
export interface typeOfResponseDataOfTheApiThatGetUserList extends typeOfCommonPropertyInTheResponseDataOfAllOfTheApis {
    data:{
        records: typeOfPropertyNamedRecordsInTheResponseDataOfTheApiThatGetUserList,
        total: number,
        size: number,
        current: number,
        orders: [],
        optimizeCountSql: boolean,
        hitCount: boolean,
        countId: null,
        maxLimit: null,
        searchCount: boolean,
        pages: number,
    }
}
// 为存储了一个职位信息的对象定义TS类型↓
export interface typeOfObjectThatRepresentsAPosition {
    id?: number,
    createTime?: string,
    updateTime?: string,
    roleName: string,
    remark: null,
}
// 为存储了所有职位信息的列表定义TS类型↓
export type typeOfpositionListThatIncludeAllOfPosition = typeOfObjectThatRepresentsAPosition[]
export interface typeOfResponseDataOfTheApiThatGetrequestAllOfPositionsAndPositionsThatCurrentUserHaveBeenHad extends typeOfCommonPropertyInTheResponseDataOfAllOfTheApis {
    data:{
        assignRoles:typeOfpositionListThatIncludeAllOfPosition,
        allRolesList:typeOfpositionListThatIncludeAllOfPosition,
    }
}
// 为向“为用户分配职位”的接口发送请求时携带的参数定义TS类型↓
export type typeOfParamsThatSentToTheApiThatAssignPositionsToAUser = {
    roleIdList: number[],
    userId: number,
}